module.exports = {
  //-------------------- 1.项目设置 --------------------
  //项目路径:项目是在www.xxname.com/这样直接访问 "./"就是相对路径
  publicPath: "./",
  //输出文件夹:打包后的文件生成到哪个文件夹 vuecli2默认是生成到dist
  outputDir: "dist",
  //打包后的静态文件生成在哪里个目录:注意,这个并不是指src文件夹中的assets,而是指打包后文件中的img/css/js生成到哪个目录,因为打包完成后只会有一个index.html和一个static文件夹,文件夹中包含img/css/js
  assetsDir: "static",
  //是否能通过浏览器的source map查看源代码:这个东西默认是true,安全起见还是改为false
  productionSourceMap: false,
  //生成的文件是否包含随机数名称后缀:比如"app.9b7021ba.css"这种命名可以防止上传时的服务器缓存,默认是true,如果设置为false就不会添加后缀,但是有可能产生缓存问题。
  filenameHashing: true,
  //代码保存的时候通过eslint验证:eslint是项目默认安装的js错误验证插件
  //这里如果打开的话你就要严格按照eslint的格式去写,我暂时关闭了
  lintOnSave: false,
  //-------------------- 2.页面相关设置 --------------------
  pages: {
    //这里的index是页面的名称,因为vue搭建的是单页spa应用,但是webpack其实也允许生成多页应用,如果需要生成多个页面这里配置多个就可以了
    index: {
      //这个页面的入口js,vue默认是走的main的js,如果你要生成多页应用,你就需要自己建立一个入口文件
      entry: "src/main.js",
      //所谓的template其实就是把你编译的内容输出到哪个页面上,多页应用使用一个模板也可以,这个东西是多页应用的话,最好新建一个,因为默认的title不一样,其实这个模板主要是你要配置一些静态资源使用的,比如,配置通过script的src外链一个站长统计或者螳螂crm等等
      template: "public/index.html",
      //编译以后输出到dist目录的文件名称
      filename: "index.html",
      //页面名称
      title: "党云龙vuecli4-demo"
    }
    // 多页应用demo
    // list:{
    // 	entry: "src/page/list.js",
    // 	template: "public/list.html",
    // 	filename: "list.html",
    // 	title: "党云龙vuecli4-demo-list"
    // }
  },
  //webpack-dev-server配置:webpack的http服务组件,通过代理设置处理跨域问题
  devServer: {
    //自动打开浏览器
    open: false,
    //设置为0.0.0.0则所有外部设备都能访问
    //还记得运行窗口里面会显示local和network的ip地址吗这个就是控制network的
    host: "0.0.0.0",
    //设置为localhost则只能在本地/本机访问
    //host: "localhost",
    //访问的端口号
    port: "8080",
    //是否启用https {type:Boolean}
    //注意当你开启https的时候 正常访问http就不行了
    //如果你要使用8080那个而不是http://172.18.1.255:8080(https),就不要开启这一项
    https: false,
    //启用代理
    //proxy: "http://localhost:3002/api/" 只有一个代理的时候
    proxy: {
      //配置代理名称,这里跟vuecli2是一样的了
      "/": {
        target: "http://localhost:3002/",
        //允许跨域
        changeOrigin: true,
        //开启支持websocket
        //ws: true
        //重写路径
        pathRewrite: {
          "^/": ""
        }
      }
    }
  },
  //-------------------- 4.webpack配置 --------------------
  configureWebpack: {
    //关闭 webpack 的性能提示 hints可选的值为false/warning/error
    // performance: {
    //   hints: false
    // }
    //根据配置文件确定哪些插件不会被打包到入口文件中
    externals: {
      vue: "Vue",
      "element-ui": "ELEMENT", //624kb
      "vue-router": "VueRouter",
      axios: "axios", //20kb
      vuex: "Vuex", //10kb
      jquery: "$", //82kb
      //swiper: "Swiper", //134kb
      echarts: "echarts",
      "vue-meta-info": "VueMetaInfo", //2kb
      "vue-photo-preview": "vuePhotoPreview", //54kb
      "vue-lazyload": "VueLazyload", //21kb
      lrz: "lrz", //31kb
      "video.js": "videojs"
    }
  },
  //-------------------- 5.插件设置 --------------------
  //其实在vuecli4中已经为jquery等常用组件做好配置了,所以这里一般是不用填写的
  pluginOptions: {}
};
